In a networked virtualization environment for storage management, several nodes (e.g., servers, data centers) share a plurality of storage devices over a network. Each node may include local storage devices (e.g., solid state drive (SSD)) and the networked virtualization environment may also include several networked storage devices (e.g., cloud storage, storage area network (SAN), network file servers). Nodes within the virtualization environment for storage management may access networked storage devices and/or local storage devices of other nodes in the virtualization environment through the network. Likewise, nodes may communicate amongst each other over the same network.
Each node may host several user virtual machines, and virtual disks may be exposed by a node to its corresponding user virtual machines. In order to facilitate disaster recovery and to ensure that data for a user virtual machine will always be available, data for each virtual disk in the networked virtualization environment for storage management will be replicated in multiple physical storage locations.
Although it is desirable to maintain a certain replication factor for data associated with each virtual disk in the networked virtualization environment, some situations may arise that cause data for a virtual disk to have a number of physical copies (e.g., replicas) that falls below the desired replication factor at any given time. This may be due to the failure of the physical disk at which a replica of the data is located or failure of the software mechanism which is performing the replication process.
It is important to monitor the replication status of the networked virtualization environment for storage management. Monitoring the replication status may facilitate maintenance and upgrades to the networked virtualization environment. For example, data for a given virtual disk may have a replication factor of 2 (e.g., physical copies at 2 different nodes in the networked virtualization environment). Having this knowledge in hand, an administrator of the networked virtualization environment may determine that it is possible to shut down any one node (e.g., for purposes of maintenance or upgrade) while still ensuring that a copy of the data is available to a user virtual machine requesting that data. At the same time, the administrator may also determine that it is not possible to shut down any two nodes while ensuring that a copy of the data is available to a requesting user virtual machine because those two nodes may happen to be the two nodes where copies of the data are located.
Thus, it is desirable to implement a mechanism for providing near real time replication for a networked virtualization environment.